This document now has a new home on sunsite.unc.edu. Many thanks to the fine folks at Sunsite!
Please CHANGE any URLs you may have pointing to this document's WWW version to the following:
http://sunsite.unc.edu/boutell/faq/www_faq.html
This informational document is posted to news.answers, comp.infosystems.www.users, comp.infosystems.www.providers, comp.infosystems.www.misc, comp.infosystems.gopher, comp.infosystems.wais and alt.hypertext every four days (please allow a day or two for it to propagate to your site). The latest version is always available on the web as http://sunsite.unc.edu/boutell/faq/www_faq.html. (see the section titled "What is a URL?" to understand what this means.)
The most recently posted version of this document is kept on the news.answers archive on rtfm.mit.edu in /pub/usenet/news.answers/www/faq. For information on FTP, send e-mail to mail-server@rtfm.mit.edu with:
send usenet/news.answers/finding-sourcesin the body (not subject line) of your message, instead of asking me.
Thomas Boutell maintains this document. Feedback about it is to be sent via e-mail to boutell@netcom.com.
In all cases, regard this document as out of date. Definitive information should be on the web, and static versions such as this should be considered unreliable at best. The most up-to-date version of the FAQ is the version maintained on the web. Please excuse any formatting inconsistencies in the posted version of this document, as it is automatically generated from the on-line version.
The advantage of hypertext is that in a hypertext document, if you want more information about a particular subject mentioned, you can usually "just click on it" to read further detail. In fact, documents can be and often are linked to other documents by completely different authors -- much like footnoting, but you can get the referenced document instantly!
To access the web, you run a browser program. The browser reads documents, and can fetch documents from other sources. Information providers set up hypermedia servers which browsers can get documents from.
The browsers can, in addition, access files by FTP, NNTP (the Internet news protocol), gopher and an ever-increasing range of other methods. On top of these, if the server has search capabilities, the browsers will permit searches of documents and databases.
The documents that the browsers display are hypertext documents. Hypertext is text with pointers to other text. The browsers let you deal with the pointers in a transparent way -- select the pointer, and you are presented with the text that is pointed to.
Hypermedia is a superset of hypertext -- it is any medium with pointers to other media. This means that browsers might not display a text file, but might display images or sound or animations.
URLs look like this: (file: and ftp: URLs are synonymous.)
The first part of the URL, before the colon, specifies the access method. The part of the URL after the colon is interpreted specific to the access method. In general, two slashes after the colon indicate a machine name (machine:port is also valid).
When you are told to "check out this URL", what to do next depends on your browser; please check the help for your particular browser. For the line-mode browser at CERN, which you will quite possibly use first via telnet, the command to try a URL is "GO URL" (substitute the actual URL of course). In Lynx you just select the "GO" link on the first page you see; in graphical browsers, there's usually an "Open URL" option in the menus.
In practice, this means that WWW can represent the gopher (a menu is a list of links, a gopher document is a hypertext document without links, searches are the same, telnet sessions are the same) and WAIS (a WAIS index is a searchable page, returning a document with no links) data models as well as providing extra functionality.
Gopher and World Wide Web usage are now running neck and neck, according to the statistics-keepers of the Internet backbone. (Of course, World Wide Web browsers can also access Gopher servers, which inflates the numbers for the latter.) This is changing as WWW reaches critical mass (usage of the server at CERN doubles every 4 months -- twice the rate of Internet expansion).
NOTE: These browsers require that you have SLIP, PPP or other TCP/IP networking on your PC. SLIP or PPP can be accomplished over phone lines, but only with the active cooperation of your network provider or educational institution. If you only have normal dialup shell access, your best option at this time is to run Lynx on the Unix (or VMS, or...) system you call, or telnet to a browser if you cannot do so.
NOTE: These browsers require that you have SLIP, PPP or other TCP/IP networking on your PC. SLIP or PPP can be accomplished over phone lines, but only with the active cooperation of your network provider or educational institution. If you only have normal dialup shell access, your best option at this time is to run Lynx on the Unix (or VMS, or...) system you call, or telnet to a browser if you cannot do so.
NOTE: These browsers require that you have SLIP, PPP or other TCP/IP networking on your PC. SLIP or PPP can be accomplished over phone lines, but only with the active cooperation of your network provider or educational institution. If you only have normal dialup shell access, your best option at this time is to run Lynx on the Unix (or VMS, or...) system you call, or telnet to a browser if you cannot do so.
Note: NeXT systems can also run X-based browsers using one of the widely used X server products for the NeXT. The browsers listed here, by contrast, are native NeXTStep applications.
These are text-based browsers for Unix (and in some cases also VMS) systems. In many cases your system administrator will have already installed one or more of these packages; check before compiling your own copy.
An excerpt from the NCSA Mosaic FAQ:
NCSA Mosaic requires a direct internet connection to work, but some folks have put together a package that works behind firewalls. This is completely unsupported by NCSA, but here is the latest announcement:
November 15, 1993: C&C Software Technology Center (CSTC) of NEC Systems Lab has made available a version of SOCKS, a package for running Internet clients from behind firewalls without breaching security requirements, that includes a suitably modified version of Mosaic for X 2.0. Beware: such a version is not supported by NCSA; we can't help with questions or problems arising from the modifications made by others. But, we encourage you to check it out if it's interesting to you. Questions and problem notifications can be sent to Ying-Da Lee (ylee@syl.dl.nec.com).
There is also a newer cataloging system called ALIWEB that requires very little effort to maintain and is growing rapidly.
Here are a few such automatic indexes you can search:
Here are two ways:
1. Turn on "load to local disk" in your browser, if it has such an option; then reload images. You'll be prompted for filenames instead of seeing them on the screen. Be sure to shut it off when you're done with it.
2. Choose "view source" and browse through the HTML source; find the URL for the inline image of interest to you; copy and paste it into the "Open URL" window. This should load it into your image viewer instead, where you can save it and otherwise muck about with it.
This piece of wisdom donated by Hunter Monroe:
This section explains how to install sound on a PC which already has a working version of Mosaic for Microsoft Windows. Be warned in advance that the results may be poor.
To get Mosaic to produce sound out of the PC speaker, first, you need a driver for the speaker. You can get the Microsoft speaker driver from the URL ftp://ftp.microsoft.com/Softlib/MSLFILES/SPEAK.EXE or by doing an Archie search to find it somewhere else. SPEAK.EXE is a self-extracting file. Copy the speak.exe file to a new directory, and then type "SPEAK" at the DOS prompt. Do not put the file SPEAKER.DRV in a separate directory from OEMSETUP.INF.
Now, you need to install the driver. In Windows, from the Program Manager choose successively Main/Control Panel/Drivers/Add/Unlisted or updated drivers/(enter path of SPEAK.EXE)/PC Speaker. At this point some strange sounds come out as the driver is initialized. Change the settings to improve the sound quality on the various sounds: tada, chimes, etc. Click OK when you are finished and choose the Restart windows option.
Having installed the speaker driver, you will now get sounds whenever you start Windows, make a mistake, or exit Windows. If you do not want this, from the Main/Control Panel/Sounds menu, make sure there is no X next to "Enable System Sounds."
Now, you need a sound viewer program that Mosaic can call to display sounds. NCSA unfortunately recommend WHAM, which does not work well with a PC speaker. Get the program WPLANY instead. You can find a copy nearby with an Archie search on the string "wplny"; the current version is WPLNY09B.ZIP. For details on archie and other basic issues related to FTP, please read the Usenet newsgroup news.announce.newusers.
Move the zip file to a new directory, and use an unzip program like pkunzip to unzip it, producing the files WPLANY.EXE and WPLANY.DOC. Then edit the MOSAIC.INI file to remove the "REM" before the line "TYPE9=audio/basic". Then, you need lines in the section below that read something like: audio/basic="c:\wplany\wplany.exe %ls" audio/wav="c:\wplany\wplany.exe %ls" where you have filled in the correct path for wplany.exe. The MOSAIC.INI file delivered with Mosaic may have NOTEPAD.EXE on the audio/basic line, but this will not work. Now, restart Mosaic, and you should now be able to produce sounds. To check this, with Mosaic choose File/Local File/\WINDOWS\*.WAV and then try to play TADA.WAV. Then, you might try the Mosaic Demo document for some .AU sounds, but you are lucky if your speaker produces something you can understand.
This answer provided by Michael Grady (m-grady@uiuc.edu):
The version of Mosaic for X has "wais client" code built-in to it. This was relatively easy for the developers to do, because there was already a set of library routines for talking to WAIS available for Unix as "public domain" (freeWAIS). I don't think there is such a library of routines for PC/Windows or Mac, which would make it much more difficult for the Mosaic versions for Windows and the Mac to add "wais client" capability. Therefore, at least for now, neither the Windows or Mac versions of Mosaic support direct query of a WAIS server (i.e. can act as wais clients themselves).
Answer provided by Ronald E. Daniel (rdaniel@acl.lanl.gov):
Mosaic only looks at the .mime.types file if it has no idea what the document's type is. This is actually a very rare situation. Essentially all servers now use the HTTP/1.0 protocol, which means that they tell Mosaic (or other browsers) what the document's MIME Content-type is. The servers use a file very much like Mosaic's .mime.types file to infer the Content-type from the filename's extension.
It is pretty simple to find out if this really is the problem. Use telnet to talk to the server and find out if it is assigning a MIME type to the document in question. Here's an example, looking at the home page for my server. (idaknow: is my shell prompt)
idaknow: telnet www.acl.lanl.gov 80 // Connect to the httpd server Trying 128.165.148.3 ... Connected to www.acl.lanl.gov. Escape character is '^]'. HEAD /Home.html HTTP/1.0 // replace Home.html with your document // you supply the blank line HTTP/1.0 200 OK // the rest of this comes from the server Date: Wednesday, 25-May-94 19:18:11 GMT Server: NCSA/1.1 MIME-version: 1.0 Content-type: text/html // Here's the MIME Content-type Last-modified: Monday, 16-May-94 16:21:58 GMT Content-length: 1727 idaknow:In the example above, /Home.html will get http://www.acl.lanl.gov/Home.html.
Normally servers will be configured to supply a Content-type of text/plain if they don't know what else to do. If this is the problem you are having, take a look at the TypesConfig documentation for NCSA's httpd. You can have the server look at the filename extension, supply the correct Content-type, then use your local .mailcap file to tell Mosaic what viewer to use to look at the document.
But others have written simple depth-first searches which, at the worst, can bring servers to their knees in minutes by recursively downloading information from CGI script-based pages that contain an infinite number of possible links. (Often robots can't realize this!) Imagine what happens when a robot decides to "index" the CONTENTS of several hundred mpeg movies. Shudder.
The moral: a robot that does what you want may already exist; if it doesn't, please study the document World Wide Web Robots, Wanderers and Spiders (URL is: http://web.nexor.co.uk/mak/doc/robots/robots.html) and learn about the emerging standards for exclusion of robots from areas in which they are not wanted. You can also read about existing robots there.
#!/bin/sh echo \Then add the following line to your .rnmac file (create it if you don't already have one):> .article.html cat >> .article.html echo \>> .article.html lynx .article.html < /dev/tty rm .article.html
W |readwebpost %CNow, when you press "W" while reading a post in rn, a message will be sent to Lynx, and the links enclosed in it will be live.
Larry W. Virden provides the following version which invokes Mosaic instead, and is also capable of communicating with an already-running copy of Mosaic instead of launching another. (You can use the same rn macro as above, invoking "goto-xm" instead of "readwebpost".) Read the comments for details on the assumptions made by the script.
#! /bin/sh # goto-xm, by Joseph T. Buck# Modified heavily by Larry W. Virden # Script for use with newsreaders such as trn. Piping the article # through this command causes xmosaic to pop up, pointing to the # article. If an existing xmosaic (version 1.1 or later) exists, # the USR1 method will be used to cause it to point to the correct # article, otherwise a new one will be started. # assumptions: ps command works as is on SunOS 4.1.x, may need changes # on other platforms. URL=`/bin/grep '^Message-ID:' | /bin/sed -e 's/.*</news:/' -e 's/>.*//'` if [ "X$URL" = "X" ]; then echo "USAGE: $0 [goto] [once] < USENET_msg" >&2 exit 1 fi pid=`ps -xc | egrep '[Mm]osaic' | awk 'NR == 1 {print $1}'` p=`which Mosaic` gfile=/tmp/Mosaic.$pid $p "$URL" & if [ "$#" -gt 0 ] ; then if [ "$1" = "goto" -o "$1" = "same" ] ; then shift echo "goto" > $gfile else echo "newwin" > $gfile fi else echo "newwin" > $gfile fi /bin/awk 'END { printf "'"$URL"'" }' </dev/null >> $gfile trap "echo signal encountered" 30 kill -USR1 $pid exit 0
Information providers run programs that the browsers can obtain hypertext from. These programs can either be WWW servers that understand the HyperText Transfer Protocol HTTP (best if you are creating your information database from scratch), "gateway" programs that convert an existing information format to hypertext, or a non-HTTP server that WWW browsers can access -- anonymous FTP or gopher, for example.
To learn more about World Wide Web servers, you can consult a www server primer by Nathan Torkington, available at the URL http://www.vuw.ac.nz/who/Nathan.Torkington/ideas/www-servers.html.
If you only want to provide information to local users, placing your information in local files is also an option. This means, however, that there can be no off-machine access.
See http://info.cern.ch/hypertext/WWW/Daemon/Overview.html for more information on writing servers and gateways in general.
There is also a Windows NT version of SerWeb, available by anonymous FTP from emwac.ed.ac.uk as /pub/serweb/serweb_i.zip.
inorganic5.chem.ufl.edu biochemistry.cwru.edu
A beginner's guide to HTML is available at the URL http://www.ncsa.uiuc.edu/General/Internet/WWW/HTMLPrimer.html. You can also find a plain text version (at the URL ftp://ftp.ncsa.uiuc.edu/ncsapubs/WWW/HTMLPrimer.txt) and a compressed Postscript version (at the URL ftp://ftp.ncsa.uiuc.edu/ncsapubs/WWW/HTMLPrimer.txt). (Since the latter two are FTP URLs, you can fetch them by hand using FTP if you do not yet have a web browser.)
There is also a good set of HTML documentation available at the URL http://www.ucc.ie/info/net/htmldoc.html.
There is also an HTML primer by Nathan Torkington at the URL http://www.vuw.ac.nz/who/Nathan.Torkington/ideas/www-html.html.
Fans of the EMACS editor can use EMACS and html-helper-mode , an EMACS "mode" for HTML editing (URL is http://www.reed.edu/~nelson/tools/).
There is also another Emacs HTML mode, html-mode.el (URL is ftp://ftp.ncsa.uiuc.edu/Web/elisp/html-mode.el).
For Microsoft Windows users, there is an editor
called HTML Assistant with features to assist in the creation
of HTML documents. It can be had by anonymous FTP from
ftp.cs.dal.ca
in the directory
/htmlasst/
. Read the README.1ST file in this
directory for information on which files to download.
A WYSIWYG editor for the Web, *SoftQuad HoTMetaL*, is available for downloading at NCSA and other Mosaic server sites. Many mirror sites exist; if you can't get through to one, try another, don't give up! That's what mirror sites are for. (Also be sure to use the copy closest to you geographically if possible.)
Known mirrors:
An editor for all X users: TkWWW (listed above under X browsers) supports WYSIWYG HTML editing; and since it's a browser, you can try out links immediately after creating them.
Also for X users, there is a package called htmltext which supports WYSIWYG HTML editing. More information is available at the URL http://web.cs.city.ac.uk/homes/njw/htmltext/htmltext.html.
For Macintosh users, there is evidently a near-WYSIWYG package called HTML Editor (URL is http://dragon.acadiau.ca:1667/~giles/HTML_Editor).
Also for Macintosh users, the BBEdit HTML extensions allow the BBEdit and BBEdit Lite text editors for the Macintosh to conveniently edit HTML documents. (URL is http://www.uji.es/bbedit-html-extensions.html.) You can also obtain the extensions package by anonymous ftp from sumex-aim.stanford.edu as info-mac/bbedit-html-ext-b3.hqx.
There is an alternative BBEdit extension package available as well; it is available by FTP at the URL ftp://ctipsych.york.ac.uk/CTI_FTP/pub/BBEdit/BBEdit_HTML_Tools.sea.hqx.
NCSA's List of Filters and Editors, for which the URL is http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/faq-software.html#editors, mentions several editors, including two for MS Windows. In some cases, the "editor" amounts to a set of macros for an existing word processor, which can provide a near-WYSIWYG environment.
Note that this URL contains uppercase and lowercase letters; certain operating systems won't allow mixed case on the command line, or will only allow it if it is quoted (VMS), so if you are launching Lynx or another client and specifying a URL at the command line, try quoting the URL in double-quotes ("URL").
Another option, if you have an SGML editor, is to use it with the HTML
DTD
Rich Brandwein and Mike Sendall's List at CERN. The URL is http://info.cern.ch/hypertext/WWW/Tools/Filters.html.
(Note that this URL contains uppercase and lowercase letters; certain operating systems such as VMS require you to quote mixed-case URLs when launching a borwser from the command line. This is NOT a bug in the browser.)
There is also a Word for Windows template for writing HTML documents, available at the URL http://www.gatech.edu/word_html/release.htm.
There are really two issues here: how to indicate in HTML that you want an image to be clickable, and how to configure your server to do something with the clicks returned by Mosaic, Chimera, and other clients capable of delivering them.
You can read about image maps and the NCSA server at the URL http://hoohoo.ncsa.uiuc.edu/docs/setup/admin/Imagemap.html.
Such links are useful when a form is intended to perform some action on the server machine without sending new information to the client, or when a user has clicked in an undefined area in an image map; these are just two possibilities.
Rob McCool of NCSA provided the following wisdom on the subject:
Yechezkal-Shimon Gutfreund (sg04@gte.com) wrote: : Ok, here is another bizzare request from me: : I am currently running scripts which I "DO NOT" want to return : any visible result. That is, not text/plain, not text/HTML, not : image/gif. The entire results are the side effects of the : script and nothing should be returned to the viewer. : It would be nice to have an internally supported null viewer : so that I could do this, more "cleanly" (ok, ok, I hear your groans).
HTTP now supports a response code of 204, which is no operation. Some browsers such as Mosaic/X 2.* support it. To use it, make your script a nph script and output an HTTP/1.0 204 header. Something like:
HTTP/1.0 204 No response
Server: Myscript/NCSA httpd 1.1
(You can learn more about nph scripts from the NCSA server documentation at the URL http://hoohoo.ncsa.uiuc.edu/docs.) Essentially they are scripts that handle their own HTTP response codes.
INPUT TYPE=hidden
. An example:
<INPUT TYPE=hidden NAME=state VALUE="hidden info to be returned with form">By now, most if not all browsers can handle the hidden type. Note that "hidden" doesn't mean "secret"; the user can always click on "view source".
Use the <!-- tag at the beginning of EACH line commented out; close this for EACH line with the --> tag. Note that comments do not nest, and the sequence "--" may not appear inside a comment except as part of the closing --> tag.
You should not try to use this to "comment out" HTML that would otherwise be shown to the user, since some browsers (notably Mosaic) will still pay attention to tags inside the comment and close it prematurely.
Thanks to Joe English for clearing up this issue.
However, there is a way to use HTML Level 3 tables now and convert them automatically to HTML, allowing you to design proper tables and install those pages directly when table support arrives in the majority of clients. You can do this using the html+tables package, by Brooks Cutter (bcutter@paradyne.com), which is available for anonymous ftp from sunsite.unc.edu in the directory pub/packages/infosystems/WWW/tools/html+tables.shar. This package requires the shell language Perl, which is primarily used on Unix systems but is also available for other systems (such as MSDOS machines). html+tables accepts HTML Level 3 and outputs html using the <PRE>...</PRE> construct to represent tables, allowing you to write HTML Level 3 now, knowing that it will look better when clients are ready for it.
However, most clients support only a handful of HTML Level 3 features (such as forms in Mosaic) at this time.
To learn more about HTML Level 3, you can examine a draft specification for it (at the URL ftp://ds.internic.net/internet-drafts/draft-raggett-www-html-00.txt) or a Postscript version of the same draft (at the URL ftp://ds.internic.net/internet-drafts/draft-raggett-www-html-00.ps). You can also access information about new developments in HTML at the CERN server (at the URL http://info.cern.ch/hypertext/WWW/Markup/Markup.html).
(HTML Level 1 is the original version. HTML Level 2 is essentially the same, but with the addition of forms.)
There is a document explaining transparent GIFs available at the URL http://melmac.harris-atd.com/transparent_images.html. You can fetch the program giftrans by anonymous ftp from ftp.rz.uni-karlsruhe.de at the path /pub/net/www/tools/giftrans.c.
mailto:
URL is an innovation found in Lynx and
a few other browsers. It is not yet found in Mosaic, the most
popular browser. Hopefully it will be present in future versions.
In the meantime, you can set up forms which send mail
to you; there is documentation on this at the URL
http://siva.cshl.org/email/index.html.
JPEG does a better job with realistic images such as scanned photographs. Most browsers cannot handle inline JPEGs, however, so you must link to them as external images (using a regular <A HREF...> instead of <IMG SRC...>.
GIF does a better job with crisp, sharp images, such as those typically used to construct buttons, graphs and the like. All browsers that can display graphics at all can display GIFs inline.
To find out more, use the web. This FAQ hopefully provides enough information for you to locate and install a browser on your system. If you have system specific questions regarding FTP, networking and the like, please consult newsgroups relevant to your particular hardware and operating system!
Once you're up and running, you may wish to consult the World Wide Web Primer by Nathan Torkington. It is available at the URL http://www.vuw.ac.nz/who/Nathan.Torkington/ideas/www-primer.html.
Later you may return to this FAQ for answers to some of the more advanced questions. I encourage you to check out the changes listed early in the document each time the FAQ appears.